package cn.xmy.demo01.controller;


import cn.xmy.demo01.pojo.CommentMy;
import cn.xmy.demo01.pojo.Imgs;
import cn.xmy.demo01.pojo.Shops;
import cn.xmy.demo01.service.CommentsDaoService;
import cn.xmy.demo01.service.ImgsDoaService;
import cn.xmy.demo01.service.ShopDaoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.SessionAttributes;

import java.sql.SQLException;
import java.util.List;

@Controller
@SessionAttributes("id") // 用于将 session 中的 id 存储到 Model 中
public class FindCommentController {

    // 自动注入服务层
    @Autowired
    private ShopDaoService shopServiceDao;

    @Autowired
    private ImgsDoaService imgsDoaService;

    @Autowired
    private CommentsDaoService commentDaoService;

    // 处理 GET 请求，获取评论信息
    @GetMapping("/findComment")
    public String findComment(@RequestParam("id") String id, Model model) {
        List<Shops> shopss = null;
        List<Imgs> imgs = null;
        List<CommentMy> commentMIES = null;

        try {
            // 调用服务层获取数据
            shopss = shopServiceDao.FindComment(id);
            imgs = imgsDoaService.Findimgs(id);
            commentMIES = commentDaoService.FindComment(id);
        } catch (SQLException | ClassNotFoundException e) {
            e.printStackTrace();
            // 处理异常，如果发生异常，可以返回一个错误视图
            return "error";
        }

        // 将数据传递到前端
        model.addAttribute("shopss", shopss);
        model.addAttribute("imgs", imgs);
        model.addAttribute("commentMIES", commentMIES);
        model.addAttribute("id", id);

        // 将 id 存储在 session 中
        model.addAttribute("id", id); // 会自动存储到 session 中，因为使用了 @SessionAttributes

        // 返回视图名
        return "comment"; // 返回 comment.html 视图
    }
}
